Skip to content

Conversation

@jiasli
Copy link
Member

@jiasli jiasli commented Sep 16, 2021

Description

The logic to add resourceGroup properties to the output JSON was added as early as #66.

While it helps (to some extent) in normal ARM commands, it causes trouble in az rest as the GET result can't be PUT back.

$ vnet=$(az rest -m GET -u /subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/my-test/providers/Microsoft.Network/virtualNetworks/vnettest?api-version=2021-02-01)

$ echo "$vnet"
{
  "etag": "W/\"6edecdf3-4fb4-4b9e-a3a0-bcf184d6caf7\"",
  "id": "/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/my-test/providers/Microsoft.Network/virtualNetworks/vnettest",
  "location": "centralus",
  "name": "vnettest",
  "properties": {
    "addressSpace": {
      "addressPrefixes": [
        "10.1.0.0/16"
      ]
    },
    "enableDdosProtection": false,
    "provisioningState": "Failed",
    "resourceGuid": "069414bc-bd93-47a1-976e-2e51578a2c72",
    "subnets": [
      {
        "etag": "W/\"6edecdf3-4fb4-4b9e-a3a0-bcf184d6caf7\"",
        "id": "/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/my-test/providers/Microsoft.Network/virtualNetworks/vnettest/subnets/default",
        "name": "default",
        "properties": {
          "addressPrefix": "10.1.0.0/24",
          "delegations": [],
          "privateEndpointNetworkPolicies": "Disabled",
          "privateLinkServiceNetworkPolicies": "Disabled",
          "provisioningState": "Failed"
        },
>>      "resourceGroup": "my-test",
        "type": "Microsoft.Network/virtualNetworks/subnets"
      }
    ],
    "virtualNetworkPeerings": []
  },
>>"resourceGroup": "my-test",
  "type": "Microsoft.Network/virtualNetworks"
}

$ az rest -m PUT -u /subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/my-test/providers/Microsoft.Network/virtualNetworks/vnettest?api-version=2021-02-01 --body "$vnet"
Bad Request({
  "error": {
    "code": "InvalidRequestFormat",
    "message": "Cannot parse the request.",
    "details": [
      {
        "code": "InvalidJson",
        "message": "Could not find member 'resourceGroup' on object of type 'Subnet'. Path 'properties.subnets[0].resourceGroup', line 27, position 24."
      },
      {
        "code": "InvalidJson",
        "message": "Could not find member 'resourceGroup' on object of type 'VirtualNetwork'. Path 'resourceGroup', line 33, position 18."
      }
    ]
  }
})

Change

Remove resourceGroup, x509ThumbprintHex transforms so that az rest preserves the original server response.

@jiasli jiasli added the rest az rest label Sep 16, 2021
@jiasli jiasli self-assigned this Sep 16, 2021
@yonzhan yonzhan added this to the Sep 2021 (2021-10-12) milestone Sep 16, 2021
@yonzhan
Copy link
Collaborator

yonzhan commented Sep 16, 2021

Rest

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

rest az rest

Projects

None yet

Development

Successfully merging this pull request may close these issues.

az rest generates undocumented/unwanted "resourceGroup" properties

5 participants